package com.smc.security;
/**
 * 
 * @author chenheng
 * @version 0.0.1
 * 认证授权接口
 */
public interface Authentication extends java.security.Principal,java.io.Serializable {
	/**
	 * 取得用户的授权信息
	 * @return
	 */
	 GrantedAuthority[] getAuthorities();
	 /**
	  * 取得用户的密码信息
	  * @return
	  */
	 Object getCredentials();
	 /**
	  * 取得用户的其它信息
	  * @return
	  */
	 Object getDetails();
	 /**
	  * 取得用户的用户名
	  * @return
	  */
	 Object getPrincipal();
	 /**
	  * 取得用户的键
	  * @return
	  */
	 Object getUUUID();
	 /**
	  * 判断用户是否通过验证
	  * @return
	  */
	 boolean isAuthenticated();
	 /**
	  * 设置是否通过 验证
	  * @param isAuthenticated
	  * @throws IllegalArgumentException
	  */
	 void setAuthenticated(boolean isAuthenticated) throws IllegalArgumentException;
}
